How to - Custom handwired keyboard
Process of how to create a custom designed hardwired keyboard
TODO ROUGH PRICE
Plan
Start out by getting a rough plan of what you want to make, so you can order parts, as takes a while, if you wish to do it cheaply.
First of all you need to decide how big your keyboard needs to be, do you wish to make an 100%, macropad, ultra-compact, split, do you want dedicated buttons for all 24 function keys? none of the above?
You can play around with keyboard-layout-editor.com to find a layout you like, see different layout under "Preset"
Massive repo of inspiration: keebfolio.netlify.app
Switches
Design (Will affect keyboard design)
- Cherry MX design (classic, old, bulky, readily available, cloned into oblivion)
- Low profile?
- Kalih Choc (Expensive, different keycaps)
- Others
- gateron.co - Gateron Low Profile 2.0 Mechanical Switch
- keychron.com - Keychron Low Profile Mechanical Switch Unsure, order a Switch tester or ask a friend to try their switches, to see what you like
Type
Generally there 3 types, originally made by cherry, I'd recommend none of them - Clicky - Typically blue (obnoxious) - Linear - Typically red (Did I press that button?) - Tactile - Typically brown (Mushy)
But do limit your scope enough, so you don't lose interest before completing the core project. Be ready to test ideas feasibility and scrap them if infeasible.
Switch matrix
So what parts do you need? You need to decide which method you wish to use, to wire up your switches - Matrix with diodes (recommended method) - Requires 1 diodes per switch, diodes are cheap - Cable routing is more manageable - Straight (1 wire per switch to microcontroller) - Requires enough pins
An I/O expander can be used to add additional pins to a microcontroller, it's also useful for split keyboards, as it can require only 4 pins (I²C + power and ground) from the microcontroller
Order parts (Consumables)
Checklist
Keyboard specific
- Switches
- Microcontroller, look at QMK Compatible microcontrollers, i recommend a RP2040 based microcontroller
- Keycaps? Do you want to order these or 3D print them
- Diodes aliexpress.com - 1N4148
- Split keyboard parts
- I/O expander route
- I/O expander MCP23017
- Connector aliexpress.com - TRRS headphone jack
- Cable aliexpress.com - TRRS headphone cable
General maker
- 3D printed filament
- Solder tin
- Extra features? Get wild, add an old ThinkPad trackpoint, a rollerball mouse, rotary encoder, maybe LEDs.
- Heat shrink tube
- Magnet wire (can come in handy)
Tools - non consumables
- 3D printer
- Soldering iron
- Continuity tester (for debugging connections)
Waiting for parts
Layout design finalisation
Staggered? Ortholinear? Something else entirely?
keyboard-layout-editor.com - My layout
Other great guides
Switch plate generation
Testing fit
3D printing
3D printed keycaps
Wiring test 3x3
The best way to eliminate unknowns and avoid wasting work, is by wiring up a small part, and testing this
Firmware setup
No unknowns, home run, final stretch, grind
Extra firmware features
Inspire, show opportunities grep QMK repo
Comments